all_l:
		make clean_all_l
		make lexer
		make lexerpiece_l

all_w:	
		cmd /c cls
		make clean_all_w
		make parser
		make lexer
		make parserpiece_w

lexerpiece_l:
		gcc lex.yy.c -o lexerpiece_l -lfl -lm
		@echo Done

lexerpiece_w:
		gcc lex.yy.c -o lexerpiece_w -lfl -lm
		@echo Done

parserpiece_w:
		gcc lua_parser.tab.c lex.yy.c -lfl -lm -o parserpiece_w
		@echo Done

clean: 	
		$(info Limpiando el Proyecto)
		-del lexerpiece.exe
		-del parserpiece.exe
		@echo Done

clean_all_w:
		$(info Realizando limpieza profunda)
		cmd /c cls
		cmd /c del /Q lex.yy.c
		cmd /c del /Q lua_parser.tab.c
		cmd /c del /Q lua_parser.tab.h
		cmd /c del /Q lexerpiece_w.exe
		cmd /c del /Q parserpiece_w.exe
		cmd /c cls

clean_all_l:
		$(info Realizando limpieza profunda)
		-rm lex.yy.c
		-rm lexerpiece
		clear

#Esto corre FLEX y crea el nuevo lexer
lexer: 
		flex lua_lexer.l
		@echo Lexer creado

#Esto corre BISON y crea el nuevo parser
parser:
		bison -d lua_parser.y
		@echo Parser creado

#Esto correra FLEX sobre un archivo de testing
lexer_test:
		flex test.l
		@echo Lexer de prueba creado
